A multiplexing system in which same operations are performed across a plurality of computers in a duplicative manner has already been put to practical use as a method for enhancing the reliability of the computers. In a multiplexing system, even if any one of the computers outputs an erroneous result due to malfunctioning, the erroneous result is compared with the normal results output from the other computers, thereby enabling detection or correction of the error. With that, the reliability of the entire system can be enhanced.
As far as the methods for implementing a multiplexing system are concerned, a method is known in which ordered multicasting is used. For example, an input ordered multicasting operation is known in which sets of target input data for processing are sent to a plurality of computers and the processing order of the sets of input data is decided. As a result of performing the input ordered multicasting operation, each computer can process the same sets of input data in the same processing order.
In a multiplexing system in which ordered multicasting is implemented, the operations to be multiplexed need to be deterministic in nature. Herein, “being deterministic” implies the property by which input data and internal data having not yet been processed enable unique determination of output data and internal data having been processed. Because of this property, the contents of the operations to be multiplexed remain consistent, and the output data array becomes identical across a plurality of computers.
In the conventional technology, the operations to be multiplexed are limited to the operations having deterministic nature. That is because, if the operations to be multiplexed are not deterministic in nature, then the normal result is not unique and thus the output result of each computer may vary even when there is no malfunctioning. That is, in the conventional technology, if the operations to be multiplexed are not deterministic in nature, then the multiplexing system cannot guarantee consistency.